package com.ysd.lis.entity.bac;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ysd.lis.entity.BaseEntity;
import com.ysd.lis.entity.BaseEntityJpa;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.sql.Timestamp;

/**
 * <p>
 *
 * </p>
 *
 * @author bai
 * @since 2024-04-10
 */
@Data
@Entity
@Table(name = "BAC_CUL_MEDIUM")
@EqualsAndHashCode(callSuper = true)
@TableName(value = "BAC_CUL_MEDIUM", autoResultMap = true)
public class BacCultureMedium extends BaseEntityJpa {

    private static final long serialVersionUID = 1L;

    /**
     * 培养基代码
     */
    @Column(name = "CUL_MEDIUM_NO")
    @TableField("CUL_MEDIUM_NO")
    private String code;

    /**
     * 培养基名称
     */
    @Column(name = "CUL_MEDIUM_NA")
    @TableField("CUL_MEDIUM_NA")
    private String name;

    /**
     * 培养基条件
     */
    @Column(name = "CONDITION")
    @TableField("CONDITION")
    private String condition;

    /**
     * 培养周期
     */
    @Column(name = "CYCLE")
    @TableField("CYCLE")
    private String cycle;

    /**
     * 观察间隔
     */
    @Column(name = "OB_INTERVAL")
    @TableField("OB_INTERVAL")
    private String obInterval;

    /**
     * 报告项目ID
     */
    /*@TableField("PROJECT_ID")
    private String projectId;*/

    /**
     * 报告单元
     */
    @Column(name = "RPT_GROUP")
    @TableField("RPT_GROUP")
    private String rptGroup;

    /**
     * 报告项目编号
     */
    @Column(name = "ITEM_NO")
    @TableField("ITEM_NO")
    private String itemNo;

    /**
     * 备注
     */
    @Column(name = "REMARK")
    @TableField("REMARK")
    private String remark;

    /**
     * 录入码
     */
    @Column(name = "INPUT_CODE")
    @TableField("INPUT_CODE")
    private String inputCode;

    /**
     * 序号
     */
    @Column(name = "ORDER_NUM")
    @TableField("ORDER_NUM")
    private String orderNum;

    /**
     * 容器条码前缀
     */
    @Column(name = "BARCODE_HEAD")
    @TableField("BARCODE_HEAD")
    private String containerBarcodeHead;

    /**
     * 容器条码长度
     */
    @Column(name = "BARCODE_LENGTH")
    @TableField("BARCODE_LENGTH")
    private String containerBarcodeLength;

    /**
     * 批号
     */
    @Column(name = "BATCH")
    @TableField("BATCH")
    private String batch;

    /**
     * 有效期
     */
    @Column(name = "VALIDITY_PERIOD")
    @TableField("VALIDITY_PERIOD")
    private Timestamp validityPeriod;

    /**
     * 采集部位
     */
    @Column(name = "COLLECTION_SITE")
    @TableField("COLLECTION_SITE")
    private String collectionSite;

    /**
     * 重量
     */
    @Column(name = "WEIGHT")
    @TableField("WEIGHT")
    private String weight;

    /**
     * 最小采集量
     */
    @Column(name = "MIN_COLLECTION")
    @TableField("MIN_COLLECTION")
    private String minCollection;

    /**
     * 不打印标签
     */
    @Column(name = "IS_PRINT_LABEL")
    @TableField("IS_PRINT_LABEL")
    private Boolean isPrintLabel;

    /**
     * 血培养标志
     */
    @Column(name = "BLOOD_FLAG")
    @TableField("BLOOD_FLAG")
    private Boolean bloodFlag;

    /**
     * 自动开窗扫描容器号码
     */
    @Column(name = "AUTO_SCAN")
    @TableField("AUTO_SCAN")
    private Boolean autoWindowScan;

    /**
     * 培养基类型  1、培养基  2、培养瓶
     */
    @Column(name = "MEDIUM_TYPE")
    @TableField("MEDIUM_TYPE")
    private String mediumType;

    /**
     * 培养基颜色
     */
    @Column(name = "MEDIUM_COLOR")
    @TableField("MEDIUM_COLOR")
    private String mediumColor;

    /**
     * 培养基样式标签
     */
    @Column(name = "MEDIUM_TAG")
    @TableField("MEDIUM_TAG")
    private String mediumTag;

    /**
     * 标签数
     */
    @Column(name = "TAGS_NUM")
    @TableField("TAGS_NUM")
    private Integer tagsNum;

    /**
     * 培养瓶名称
     */
    @Column(name = "CULTURE_BOTTLE")
    @TableField("CULTURE_BOTTLE")
    private String cultureBottle;

    @Transient
    @TableField(exist = false)
    private String searchValue;

    @Transient
    @TableField(exist = false)
    private String itemNa;

}
